home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1991 November / 64er_Magazin_91-11_1991_Markt__Technik_de_Side_A.d64 / cutter $c000.src (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  48 lines

  1. 100 sys36864:.opt oo:*= $c000
  2. 110 ;
  3. 120 ;**********************************
  4. 130 ;*       cutter $c000-$c04c       *
  5. 140 ;*   (w)1991 by silvan reinhold   *
  6. 150 ;**********************************
  7. 160 ;
  8. 170 :       jsr getpar ;adresse der startzeile errechnen
  9. 180 :       sta $57 ;low- und
  10. 190 :       stx $58 ;high-byte speichern
  11. 200 :       jsr getpar ;adresse der endzeile berechnen
  12. 210 :       sta $59 ;low- und
  13. 220 :       stx $5a ;high-byte zweimal
  14. 230 :       sta $5b ;speichern
  15. 240 :       stx $5c
  16. 260 :       ldy #$00 ;schleife vorbereiten
  17. 270 :       ldx #$01 ;(zwei durchlaeufe)
  18. 280 :label0 lda ($59),y ;die beiden letzten bytes auf
  19. 290 :       pha ;dem stack ablegen und
  20. 300 :       tya ;durch nullbytes (programmende)
  21. 310 :       sta ($59),y ;ersetzen
  22. 320 :       inc $59 ;dabei programmendezeiger auf das
  23. 330 :       bne label1 ;byte hinter dem letzten nullbyte
  24. 340 :       inc $5a ;stellen
  25. 350 :label1 dex
  26. 360 :       bpl label0
  27. 380 :       jsr $aefd ;kein komma, dann syntax error
  28. 390 :       jsr $e1d4 ;parameter zum speichern holen
  29. 400 :       lda #$57 ;start- und
  30. 410 :       ldx $59 ;endadresse uebergeben
  31. 420 :       ldy $5a
  32. 430 :       jsr $ffd8 ;zum speichern
  33. 450 :       ldy #$01 ;zwei schleifendurchlaeufe vorbereiten
  34. 460 :label2 pla ;die ersetzten bytes wieder
  35. 470 :       sta ($5b),y ;vom stapel zurueckholen
  36. 480 :       dey
  37. 490 :       bpl label2
  38. 500 :       rts ;ende
  39. 510 ;----------------------------------
  40. 520 :getpar jsr $aefd ;kein komma, dann syntax error
  41. 530 :       jsr $ad8a ;zeilennummer aus dem basictext
  42. 540 :       jsr $b7f7 ;holen
  43. 550 :       jsr $a613 ;startadresse berechnen
  44. 560 :       lda $5f ;low-byte in den akku (high-byte im x-register)
  45. 570 :       rts ;zurueck vom unterprogramm
  46. 580 ;----------------------------------
  47. 590 :      .end
  48.